// pages/detail/detail.js
var {getGoodsDetail} = require("../../api/detail.js");
Page({
    /**
     * 页面的初始数据
     */
    data: {
        cartNum:0,
        flag:false,//收藏按钮
        tipsflag:false,//加入购物车提示
        collectflag:false,//收藏提示
        collect:'',
          goods:{
            id:1,
            picUrl:"../../images/lists01.webp",
            description:"创维网络平板液晶电视机 100寸大屏电视机",
            goodsImgs:[
              '../../images/banner01.jpg',
              '../../images/banner02.jpg',
              '../../images/banner03.jpg',
              '../../images/banner04.jpg',
            ],
            address:"广州",
            price:3499,
            oldPrice:3999,
            Details:"../../images/IMG_0466.JPG",
          }
    },
    // 跳转购物车
    goCart(){
        wx.switchTab({
          url: '/pages/cart/cart',
        })
    },
    // 跳转主页
    goHome(){
        wx.switchTab({
          url: '/pages/index/index',
        })
    },
    // 加入购物车功能
    addCart(){
      // 购物车数据结构
      let cartLists ={
        id:this.data.goods.id,
        picUrl:this.data.goods.picUrl,
        description:this.data.goods.description,
        price:this.data.goods.price,
        oldPrice:this.data.goods.oldPrice,
        num:1,
    }
        // 数据添加数据缓存中
        // 1.判断数据缓存中是否有数据
        let goodsCarList = wx.getStorageSync("goodsCarlist");//获取数据
        // 2.有数据
        if(goodsCarList){
            // 2.1有相同数据，数据加一
            let index = goodsCarList.findIndex(item=>item.id == this.data.goods.id);
            if(index != -1){  //有相同数据
                goodsCarList[index].num += 1;
            }else{
                // 2.2有数据没有相同数据,添加数据
                goodsCarList.push(cartLists);
            }
            wx.setStorageSync("goodsCarlist",goodsCarList);
        }else{
            // 3.没有数据 添加数据
            wx.setStorageSync("goodsCarlist",[cartLists]);
        }
        this.setData({
          cartNum:wx.getStorageSync('goodsCarlist').length,
          tipsflag:true,
        })
        setTimeout(() => {
          this.setData({
            tipsflag:false,
          })
        }, 1500);
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
      // 获取详情信息
      let id = options.id;
      // 获取详情页数据
        getGoodsDetail({"goods_id":id}).then((data)=>{
            let {goods_id,goods_name,goods_small_logo,pics,goods_price,goods_introduce}  = data.message;
            let goods = {
                id:goods_id,
                picUrl:goods_small_logo,
                description:goods_name,
                goodsImgs:pics,
                address:"广州",
                price:goods_price,
                oldPrice:goods_price+100,
                Details:goods_introduce
            }
            this.setData({
                goods,
            })
        })

      // 判断缓存中是否有相同数据
      let collect = wx.getStorageSync('collectLists')
      if(collect){
        let index = collect.some(item => item.id == options.id)
        if(index){//有相同数据
          this.setData({
            flag:true,
          })
        }else{
          this.setData({
            flag:false,
          })
        }
      }else{
        this.setData({
          flag:false,
        })
      }
    },
    // 跳转收藏页面
    gotocollect(){
      wx.navigateTo({
        url: '/pages/collect/collect',
      })
    },
    // 点击收藏
    star(){
      let flag = this.data.flag;
      if(flag){
        flag = false;
        this.setData({
          flag:false,
          collectflag:true,
          collect:'取消收藏成功',
        })
      }else{
        flag = true;
        this.setData({
          flag:true,
          collectflag:true,
          collect:'收藏成功',
        })
      }
      setTimeout(() => {
        this.setData({
          collectflag:false,
        })
      }, 1500);
      // 判断是否有缓存数据
      // let collectLists = wx.getStorageSync("collectlists");
      let collect = wx.getStorageSync('collectLists')
      if(flag){//确认收藏
        // 数据结构
        let collectList ={
          id:this.data.goods.id,
          picUrl:this.data.goods.picUrl,
          description:this.data.goods.description,
          price:this.data.goods.price,
          oldPrice:this.data.goods.oldPrice,
          address:'广州',
          num:1,
        }
      // 有缓存数据
      if(collect){
        collect.unshift(collectList);
        wx.setStorageSync("collectLists",collect);
      }else{//没有缓存数据
        wx.setStorageSync("collectLists",[collectList]);
      }
    }else{//取消收藏
      let index = collect.findIndex(item=>item.id == this.data.goods.id)
      collect.splice(index,1)
      wx.setStorageSync("collectLists",collect);
    }          
    },
    // 跳转收藏
    gotocollect(){
      wx.navigateTo({
        url: '/pages/collect/collect',
      })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
      this.setData({
        cartNum:wx.getStorageSync('goodsCarlist').length,
    })
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})